﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Timers;
using System.Net.Mail;
using System.Net;
using System.ComponentModel;
using System.Text;
using System.IO;
using System.Data.Linq;
using Olympic_email_to_future.Module;
using Olympic_email_to_future.IBLL;
using Olympic_email_to_future.BLLFactory;

namespace FutureMeWeb
{
    public class Global : System.Web.HttpApplication
    {
        public static readonly Olympic_email_to_future.IBLL.IMailBLL bllFactory = Olympic_email_to_future.BLLFactory.BusinessFactory.CreateEmailBLL();

        void Application_Start(object sender, EventArgs e)
        {
            System.Timers.Timer t = new System.Timers.Timer(60000);
            t.Elapsed += new ElapsedEventHandler(t_Elapsed);
            t.AutoReset = true;
            t.Enabled = true;

        }
        private void t_Elapsed(object sender, ElapsedEventArgs e)
        {

            if (bllFactory.doHaveMailByTime())
            {
                bllFactory.mailSend();
            }

            
        }

        void Application_End(object sender, EventArgs e)
        {
            //  在应用程序关闭时运行的代码

        }

        void Application_Error(object sender, EventArgs e)
        {
            // 在出现未处理的错误时运行的代码

        }

        void Session_Start(object sender, EventArgs e)
        {
            // 在新会话启动时运行的代码

        }

        void Session_End(object sender, EventArgs e)
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时，才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer，则不会引发该事件。

        }

    }
}
